﻿using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
/// <summary>
/// Objet qui ser à laffichage d'un entité dans un contrôle tel que combobox, listbox, etc..
/// </summary>
/// <remarks></remarks>
/// 
namespace Framework.Data.Core
{
    public class ListObject
    {

        #region "Membres"

        //Valeur de l'objet
        protected object _valueMember;
        //Champ qui sera afficher dans le contrôle
        protected string _displayMember;
        //Valeur optionnel qui peut être utilisé par l'usager

        protected object _optionalObject;
        #endregion

        #region "Constructeurs"
        /// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="valueMember">Valeur de l'objet</param>
        /// <param name="displayMember">Valeur qui sera affiché</param>
        /// <remarks></remarks>
        public ListObject(object valueMember, string displayMember)
            : this(valueMember, displayMember, null)
        {
        }

        /// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="valueMember">Valeur de l'objet</param>
        /// <param name="displayMember">Valeur qui sera affiché</param>
        /// <remarks></remarks>
        public ListObject(object valueMember, string displayMember, object optionalObject)
        {
            this._valueMember = valueMember;
            this._displayMember = displayMember;
            this._optionalObject = optionalObject;
        }

        #endregion

        #region "Propriétés"

        public object ValueMember
        {
            get { return this._valueMember; }
            set { this._valueMember = value; }
        }

        public string DisplayMember
        {
            get { return this._displayMember; }
            set { this._displayMember = value; }
        }

        public object OptionalObject
        {
            get { return this._optionalObject; }
            set { this._optionalObject = value; }
        }

        #endregion

    }
}